<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="../../vue.js"></script>
</head>

<body>
    <div id="app">
        <h1>姓名是{{name}}</h1>
        <h1>年龄是{{age}}</h1>
        <h1>住址是{{addr}}</h1>
    </div>
</body>

</html>
<script>
    const vm = new Vue({

        //el用来选择容器
        el: "#app",

        //template用来写内容，这个内容将直接替换el选择的容器（也就是直接覆盖）
        // template:`
        // <h1>姓名是{{name}}</h1>
        // <h1>年龄是{{age}}</h1>
        // <h1>住址是{{addr}}</h1>
        // `,

        //data用来添加数据
        //data可以是一个数据对象，data中的数据被存放在vm上
        //data也可以是一个函数，返回一个对象
        //当一个组件被定义，data 必须声明为返回一个初始数据对象的函数因为组件可能被用来创建多个实例(组件可能被复用)。如果 data 仍然是一个纯粹的对象，则所有的实例将共享引用同一个数据对象！则数据就会互相影响通过提供 data 函数，每次创建一个新实例后，我们能够调用 data 函数，从而返回初始数据的一个全新副本数据对象。
        //总而言之，为了多个实例可以一起用这个data而不互相影响
        data() {
            return {
                name: "张三",
                age: 24,
                addr: "湖北"
            }
        }
    })
    console.log(vm);
</script>